草庐IT

linux - 将命令输出重定向到 bash 中的变量失败

我正在尝试将命令输出重定向到一个变量:OUTPUT=$(sudoapache2ctlconfigtest)然后阅读它:echo$OUTPUT运行时输出如下:19:19:12user@user~OUTPUT=$(sudoapache2ctlconfigtest)SyntaxOKSyntaxOK但变量保持空白。我已经对其他命令进行了相同的尝试,一切正常。OUTPUT=$(ls-l)这会将文件列表写入变量OUTPUT,以便稍后读取。我应该怎么做才能让它发挥作用? 最佳答案 也许输出到stderr,而不是stdout?试试这个:OUTPUT

linux - bash:/bin/tar: 使用 tar 压缩许多文件时参数列表太长

我正在尝试使用命令压缩存档中的文件tar-czvfcompress_file.tar.gz$(catfile_list.txt)我有一个错误-bash:/bin/tar:Argumentlisttoolong文件编号太长,如何解决? 最佳答案 使用“-T”选项将包含要压缩的文件名的文件传递给tar。tar-czv-Tfile_list.txt-ftarball.tar.gz 关于linux-bash:/bin/tar:使用tar压缩许多文件时参数列表太长,我们在StackOverflow

linux - Bash 脚本 - 卸载一个设备,但如果没有安装它不会失败?

我正在编写一个bash脚本并且我设置了errexit,这样如果任何命令没有返回0退出代码,脚本就会死掉,即如果任何命令没有成功完成.这是为了确保我的bash脚本是健壮的。我必须挂载一些文件系统,复制一些文件,然后卸载它。我将umount/mnt/temp放在开头,这样它会在执行任何操作之前卸载它。但是,如果它没有安装,那么umount将失败并停止我的脚本。是否可以执行umount--dont-fail-if-not-mounted/mnt/temp?如果未安装设备,它会返回0吗?像rm-f吗? 最佳答案 忽略返回码的标准技巧是将命令

linux - 如何每隔 N 秒重复运行 bash 脚本?

我有一个shell脚本打印一些统计信息,如磁盘信息、内存使用等。但它只在脚本运行和退出后显示一次信息。我可以让这个脚本重复运行(例如htop)或类似的东西吗?我希望此信息每5-10秒更新一次。 最佳答案 我的评论略有改进:如果您的脚本以true退出(例如,当它以exit0结束时),您可以运行whilescript;dosleep10;done这是重复命令的规范方式,只要它不会失败。 关于linux-如何每隔N秒重复运行bash脚本?,我们在StackOverflow上找到一个类似的问题:

linux - 使用 Linux/Bash 对空格分隔的数字进行排序

是否有Linux实用程序或Bash命令可用于对以空格分隔的数字字符串进行排序? 最佳答案 这里有一个简单的例子可以让你开始:回显“81461230”|tr"""\n"|排序-gtr将分隔数字的空格转换为回车,因为sort使用回车作为分隔符(即用于对文本的行进行排序)。-g选项告诉sort按“一般数值”排序。mansort获取有关sort的更多详细信息。 关于linux-使用Linux/Bash对空格分隔的数字进行排序,我们在StackOverflow上找到一个类似的问题:

linux - 如何在 bash 中的文件夹中的每个文件的开头添加一个字符串?

我希望能够在文件夹中的每个文本文件的开头添加一个字符串。我如何在Linux上使用bash执行此操作? 最佳答案 这会做到这一点。如果您对每个文件执行相同的文本,您可以提高效率...forfin*;doecho"whatever">tmpfilecat$f>>tmpfilemvtmpfile$fdone 关于linux-如何在bash中的文件夹中的每个文件的开头添加一个字符串?,我们在StackOverflow上找到一个类似的问题: https://stacko

linux - 从 bash 提示符和脚本向 docker exec 传递参数

我正在尝试在我的mongodbdocker容器中执行命令。在我的linux命令提示符下,它非常简单并且在我执行此操作时可以工作dockerexec-itd886e775dfadmongo--eval'rs.isMaster()'上面告诉我去一个容器并执行命令"mongo--eval'rs.isMaster()'-Thistellsmongototakers.isMaster()asaninputandexecuteit.Thisworksandgivesmetheoutput.因为我试图通过bash脚本自动执行此操作,所以我这样做了cmd="mongo--eval'rs.isMaste

linux - 从 bash 提示符和脚本向 docker exec 传递参数

我正在尝试在我的mongodbdocker容器中执行命令。在我的linux命令提示符下,它非常简单并且在我执行此操作时可以工作dockerexec-itd886e775dfadmongo--eval'rs.isMaster()'上面告诉我去一个容器并执行命令"mongo--eval'rs.isMaster()'-Thistellsmongototakers.isMaster()asaninputandexecuteit.Thisworksandgivesmetheoutput.因为我试图通过bash脚本自动执行此操作,所以我这样做了cmd="mongo--eval'rs.isMaste

linux - bash进程中文件描述符255有什么用

执行下面的命令来显示当前进程拥有的文件描述符显示了4个文件描述符。文件描述符0、1和2是stdin、stdout和stderr。什么是文件描述符255?ls/proc/$$/fd输出:012255 最佳答案 打开的文件是0(stdin)、1(stdout)和2(stderr)。255是bash用于在重定向时保留这些副本的一个小技巧。这是bash特有的。来源:https://books.google.com/books?id=wWjqCF9HLfYC&pg=PA231例子:echofoo1>/dev/null2>/dev/null>/

linux - Bash/Sh 等 Shell 脚本的 IDE/Emacs 模式

我将Emacs用于shell脚本。我知道我在某处读到有一些模式可以使在Emacs上编写Shell脚本变得更容易(代码完成、自动完成、括号匹配、语法高亮、检查语法),但一直没能找到它。简而言之,我想将Emacs变成BashIDE。此外,是否有任何其他工具/IDE可以使GNU/LinuxShell上的脚本编写更容易? 最佳答案 好吧,有一个内置的shell模式可以进行语法高亮显示,如果它还没有打开,M-xshell-script-mode会为您完成它。关于使脚本编写更容易的工具。有一个bashshelldebugger,所以如果您使用b